package com.hidt.shop.service;

import com.github.pagehelper.PageInfo;
import com.hidt.shop.domain.Order_table;
import com.hidt.shop.util.RestDate;

import java.util.List;
import java.util.Map;

/**
 * @author Fhy
 * @Title Order_tableService
 * @Package com.hdit.shop.service
 * @Description 订单表的业务处理接口
 * @date 2021/1/19 14:27
 */
public interface Order_tableService {
    /**
     * 方法描述: 生成完整订单的过程
     * @author Fhy
     * @Date 2021/2/23 9:39
     * @params [order_table]
     * @return com.hidt.shop.util.RestDate
     */
    public RestDate addOrderAll(Order_table order_table);

    /**
     * 方法描述: 添加订单
     * @author Fhy
     * @Date 2021/1/19 14:30
     * @params [order_tableMapper]
     * @return java.lang.String
     */
    public String addOrder(Order_table order_table);

    /**
     * 方法描述: 统计所有订单
     * @author Fhy
     * @Date 2021/1/20 14:13
     * @params []
     * @return int
     */
    public int findAllOrderPaging();

    /**
     * 方法描述: 查询所有订单
     * @author Fhy
     * @Date 2021/1/20 14:16
     * @params [map]
     * @return java.util.List<com.hidt.shop.domain.Order_table>
     */
    public List<Order_table> findAllOrder(Map<String,Integer> map);

    public PageInfo<Order_table> findAll(int pageNum, int pageSize);

    /**
     * 方法描述:
     * @author Fhy
     * @Date 2021/1/20 14:16
     * @params [userid]
     * @return int
     */
    public int findOrderByUserIdPaging(int order_user_id);

    /**
     * 方法描述: 查询对应id订单
     * @author Fhy
     * @Date 2021/1/20 14:16
     * @params [map]
     * @return java.util.List<com.hidt.shop.domain.Order_table>
     */
    public List<Order_table> findOrderByUserId(Map<String,Integer> map);

    /**
     * 方法描述: 删除对应id订单（逻辑删）
     * @author Fhy
     * @Date 2021/1/19 20:55
     * @params [order_id]
     * @return String
     */
    public String deleteOrderById(String order_id);

    /**
     * 方法描述: 修改对应id订单状态
     * @author Fhy
     * @Date 2021/1/19 20:56
     * @params [order_id, order_status]
     * @return String
     */
    public String updateOrderStatus(String order_id,int order_status);

    public Order_table findOrderDetail(String order_id);
}
